package com.tjetc.service.impl;

import com.tjetc.entity.SpcifyResults;
import com.tjetc.dao.SpcifyResultsDao;
import com.tjetc.service.SpcifyResultsService;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;

import javax.annotation.Resource;

/**
 * 定制结果表(SpcifyResults)表服务实现类
 *
 * @author makejava
 * @since 2025-09-13 16:06:07
 */
@Service("spcifyResultsService")
public class SpcifyResultsServiceImpl implements SpcifyResultsService {
    @Resource
    private SpcifyResultsDao spcifyResultsDao;

    /**
     * 通过ID查询单条数据
     *
     * @param sprid 主键
     * @return 实例对象
     */
    @Override
    public SpcifyResults queryById(Long sprid) {
        return this.spcifyResultsDao.queryById(sprid);
    }

    /**
     * 分页查询
     *
     * @param spcifyResults 筛选条件
     * @param pageRequest      分页对象
     * @return 查询结果
     */
    @Override
    public Page<SpcifyResults> queryByPage(SpcifyResults spcifyResults, PageRequest pageRequest) {
        long total = this.spcifyResultsDao.count(spcifyResults);
        return new PageImpl<>(this.spcifyResultsDao.queryAllByLimit(spcifyResults, pageRequest), pageRequest, total);
    }

    /**
     * 新增数据
     *
     * @param spcifyResults 实例对象
     * @return 实例对象
     */
    @Override
    public SpcifyResults insert(SpcifyResults spcifyResults) {
        this.spcifyResultsDao.insert(spcifyResults);
        return spcifyResults;
    }

    /**
     * 修改数据
     *
     * @param spcifyResults 实例对象
     * @return 实例对象
     */
    @Override
    public SpcifyResults update(SpcifyResults spcifyResults) {
        this.spcifyResultsDao.update(spcifyResults);
        return this.queryById(spcifyResults.getSprid());
    }

    /**
     * 通过主键删除数据
     *
     * @param sprid 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Long sprid) {
        return this.spcifyResultsDao.deleteById(sprid) > 0;
    }
}
